package org.epes.laboratory.vcn.application.test;

import java.io.Serializable;

public class OptimizationApplication implements Serializable {

	private static final long serialVersionUID = 1L;
	
	public OptimizationApplication() {
		this.setExcelSolution(new String().getBytes());
		this.setExcelAnalysis(new String().getBytes());
	}
	
	private int x0, y0;
	private int x1, y1;
	private int x2, y2;
	private int x3, y3;
	private int x4, y4;	
	
	private long co2ManagedKnowledge;

	private byte[] excelSolution;
	
	private byte[] excelAnalysis;
	
	private int realSequence;
	
	private float realDistance;
	
	private float realCalculatedEmissions;
	
	private int theoreticalOptimalSequence;
	
	private float theoreticalOptimalDistance;
	
	private float theoreticalCalculatedEmissions;
	
	
	public int getX0() {
		return x0;
	}

	public void setX0(int x0) {
		this.x0 = x0;
	}

	public int getY0() {
		return y0;
	}

	public void setY0(int y0) {
		this.y0 = y0;
	}

	public int getX1() {
		return x1;
	}

	public void setX1(int x1) {
		this.x1 = x1;
	}

	public int getY1() {
		return y1;
	}

	public void setY1(int y1) {
		this.y1 = y1;
	}

	public int getX2() {
		return x2;
	}

	public void setX2(int x2) {
		this.x2 = x2;
	}

	public int getY2() {
		return y2;
	}

	public void setY2(int y2) {
		this.y2 = y2;
	}

	public int getX3() {
		return x3;
	}

	public void setX3(int x3) {
		this.x3 = x3;
	}

	public int getY3() {
		return y3;
	}

	public void setY3(int y3) {
		this.y3 = y3;
	}

	public int getX4() {
		return x4;
	}

	public void setX4(int x4) {
		this.x4 = x4;
	}

	public int getY4() {
		return y4;
	}

	public void setY4(int y4) {
		this.y4 = y4;
	}

	public long getCo2ManagedKnowledge() {
		return co2ManagedKnowledge;
	}

	public void setCo2ManagedKnowledge(long co2ManagedKnowledge) {
		this.co2ManagedKnowledge = co2ManagedKnowledge;
	}

	@Override
	public String toString() {
		
		StringBuffer sb = new StringBuffer();
		sb.append("\n  Optimization Application variables:\n");
		sb.append("  -> x0, y0 = " + getX0() + ", " + getY0() + "\n");
		sb.append("  -> x1, y1 = " + getX1() + ", " + getY1() + "\n");
		sb.append("  -> x2, y2 = " + getX2() + ", " + getY2() + "\n");
		sb.append("  -> x3, y3 = " + getX3() + ", " + getY3() + "\n");
		sb.append("  -> x4, y4 = " + getX4() + ", " + getY4() + "\n");
		sb.append("  -> co2ManagedKnowledge = " + this.getCo2ManagedKnowledge() + "\n");
		sb.append("  -> excelSolution length = " + excelSolution.length + " bytes");
		
		return sb.toString();
	}

	public byte[] getExcelSolution() {
		return excelSolution;
	}

	public void setExcelSolution(byte[] excelSolution) {
		this.excelSolution = excelSolution;
	}

	public byte[] getExcelAnalysis() {
		return excelAnalysis;
	}

	public void setExcelAnalysis(byte[] excelAnalysis) {
		this.excelAnalysis = excelAnalysis;
	}

	public int getRealSequence() {
		return realSequence;
	}

	public void setRealSequence(int realSequence) {
		this.realSequence = realSequence;
	}

	public float getRealDistance() {
		return realDistance;
	}

	public void setRealDistance(float realDistance) {
		this.realDistance = realDistance;
	}

	public float getRealCalculatedEmissions() {
		return realCalculatedEmissions;
	}

	public void setRealCalculatedEmissions(float realCalculatedEmissions) {
		this.realCalculatedEmissions = realCalculatedEmissions;
	}

	public int getTheoreticalOptimalSequence() {
		return theoreticalOptimalSequence;
	}

	public void setTheoreticalOptimalSequence(int theoreticalOptimalSequence) {
		this.theoreticalOptimalSequence = theoreticalOptimalSequence;
	}

	public float getTheoreticalOptimalDistance() {
		return theoreticalOptimalDistance;
	}

	public void setTheoreticalOptimalDistance(float theoreticalOptimalDistance) {
		this.theoreticalOptimalDistance = theoreticalOptimalDistance;
	}

	public float getTheoreticalCalculatedEmissions() {
		return theoreticalCalculatedEmissions;
	}

	public void setTheoreticalCalculatedEmissions(
			float theoreticalCalculatedEmissions) {
		this.theoreticalCalculatedEmissions = theoreticalCalculatedEmissions;
	}
}
